import request from "@/utils/request";

class UserAPI {
  /**
   * 获取当前登录用户信息
   *
   * @returns 登录用户昵称、头像信息，包括角色和权限
   */
  static getInfo() {
    return request<any>({
      url: "/inter-api/smcc/v1/user/current/employee",
      method: "get",
    });
  }
  /**
   * 获取员工列表
   *
   * @returns 员工列表
   */
  static list(data: any) {
    return request<any>({
      url: "/inter-api/smcc/v1/employee/page",
      method: "post",
      data,
    });
  }
  /**
   * 创建员工
   *
   * @returns 创建员工
   */
  static create(data: any) {
    return request<any>({
      url: "/inter-api/smcc/v1/employee/save",
      method: "post",
      data,
    });
  }
  /**
   * 更新员工
   *
   * @returns 更新员工
   */
  static update(data: any) {
    return request<any>({
      url: `/inter-api/smcc/v1/employee/${data.id}`,
      method: "put",
      data,
    });
  }
  /**
   * 删除员工
   *
   * @returns 删除员工
   */
  static del(params: any) {
    return request<any>({
      url: `/inter-api/smcc/v1/employee/delete`,
      method: "delete",
      params
    });
  }
  /**
   * 查询当前代理商角色分组
   *
   * @returns 查询当前代理商角色分组
   */
  static getCurrentDistributorInfo() {
    return request<any>({
      url: `/inter-api/smcc/v1/role/currentDistributorInfo`,
      method: "get",
    });
  }
}

export default UserAPI;

/** 登录用户信息 */
export interface UserInfo {
  /** 用户ID */
  userId?: number;

  /** 用户名 */
  username?: string;

  /** 昵称 */
  nickname?: string;

  /** 头像URL */
  avatar?: string;

  /** 角色 */
  roleList: string[];

  /** 权限 */
  perms: string[];
}
